package com.hippo.core.controller;

import com.alibaba.fastjson.JSONObject;
import com.hippo.core.config.annotation.RequiresPermissions;
import com.hippo.core.service.PageModuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @author: hippo
 */
@RestController
public class PageModuleController {

    @Autowired
    private PageModuleService pageModuleService;

    @RequiresPermissions("pageModule:list")
    @GetMapping("/getPageModuleTree/{projectId}")
    public JSONObject getPageModuleTree(@PathVariable String projectId) {
        return pageModuleService.getPageModuleTree(projectId);
    }

    @RequiresPermissions("pageModule:add")
    @PostMapping("/addPageModule")
    public JSONObject addPageModule(@RequestBody JSONObject data) {
        return pageModuleService.addPageModule(data);
    }

    @RequiresPermissions("pageModule:delete")
    @PostMapping("/deletePageModule")
    public JSONObject deletePageModule(@RequestBody JSONObject data) {
        return pageModuleService.deletePageModule(data);
    }

    @RequiresPermissions("pageModule:update")
    @PutMapping("updatePageModule")
    public JSONObject updatePageModule(@RequestBody JSONObject data) {
        return pageModuleService.updatePageModule(data);
    }

}
